#!/bin/bash

#lowinktool

infoForMediaType ()
{
    case ${1} in 
    DS4000200|0200|200|DS4000201)
      mediaMax=400
      mediaName="DS40 5x3.5"
      ((media -= 50))
      ;;
    DS4000210|0210|210|DS4000211)
      mediaMax=200
      mediaName="DS40 5x7"
      ((media -= 50))
      ;;
    DS-RX100301|DS-RX100300)
      mediaMax=700
      mediaName="RX1 6x4"
      ((media -= 50))
      ;;
    DS4000300|0300|300|DS4000301)
      mediaMax=400
      mediaName="DS40 6x4"
      ((media -= 50))
      ;;
    DS-RX100310|DS-RX100311)
      mediaMax=350
      mediaName="RX1 6x8"
      ((media -= 50))
      ;;
    DS4000310|0310|310|DS4000311)
      mediaMax=200
      mediaName="DS40 6x8"
      ((media -= 50))
      ;;
    DS4000400|0400|400|DS4000401)
      mediaMax=180
      mediaName="DS40 6x9"
      ((media -= 50))
      ;;
    DS8000500|0500|500|DS8000501)
      mediaMax=130
      mediaName="DS80 8x10"
      ((media -= 50))
      ;;
    DS8000510|0510|510|DS8000511)
      mediaMax=110
      mediaName="DS80 8x12"
      ((media -= 50))
      ;;
  esac
  ((0 > media)) && media=0
}
#echo -e '#CUPS-COMMAND\nReportLevels'|lp -d ${1} -- - >/dev/null
PPD="/etc/cups/ppd/${1}.ppd"

test -r "${PPD}" || exit 1

#media=($(awk '/^[*]DS-[RX1408]+-00[2345][01][01]:/ {print $0;}' "${PPD}"))
media=$(awk '/^[*]MediaRemaining:/ {print $NF;exit}' "${PPD}")
media=${media//\"}
model=$(awk '/^[*]Product:/ {print $NF;exit}' "${PPD}")
model=${model//\"}
model=${model//\)}
model=${model//\(}
mediaType=$(awk '/^[*]PrinterInstalledMedia:/ {print $NF;exit}' "${PPD}")

infoForMediaType ${model// }${mediaType//\"}
mediaName="${mediaName} Media (${media} of ${mediaMax})"
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
                              "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>prtMarkerSuppliesTable</key>
        <array>
                <dict>
                        <key>prtMarkerSuppliesClass</key>
                        <integer>3</integer>
                        <key>prtMarkerSuppliesDescription</key>
                        <string>'"${mediaName}"'</string>
                        <key>prtMarkerSuppliesLevel</key>
                        <integer>'"${media//\"}"'</integer>
                        <key>prtMarkerSuppliesMaxCapacity</key>
                        <integer>'"${mediaMax//\"}"'</integer>
                        <key>prtMarkerSuppliesSupplyUnit</key>
                        <integer>2</integer>
                        <key>prtMarkerSRGBRepresentation</key>
                        <array>
                               	<real>0.5</real>
                               	<real>0.25</real>
                               	<real>0.0</real>
                        </array>
                        <key>prtMarkerSuppliesType</key>
                        <integer>7</integer>
                </dict>
        </array>
</dict>
</plist>'
